//! 集成测试
//! 
//! 测试 akoption-scheduler 的主要功能

use std::path::PathBuf;
use std::fs;

#[test]
fn test_config_file_exists() {
    // 测试配置文件是否存在
    let config_path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
        .join("../../config/sync_config.toml");
    
    assert!(config_path.exists(), "配置文件应该存在: {:?}", config_path);
}

#[test]
fn test_config_file_readable() {
    // 测试配置文件是否可读
    let config_path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
        .join("../../config/sync_config.toml");
    
    if config_path.exists() {
        let content = fs::read_to_string(&config_path);
        assert!(content.is_ok(), "配置文件应该可读");
        assert!(!content.unwrap().is_empty(), "配置文件不应为空");
    }
}

#[test]
fn test_data_directory_structure() {
    // 测试数据目录结构
    let project_root = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
        .join("../..");
    
    let data_dir = project_root.join("data");
    let logs_dir = project_root.join("logs");
    let config_dir = project_root.join("config");
    
    // 这些目录应该存在或可以创建
    assert!(config_dir.exists(), "config 目录应该存在");
}
